An interpolation operation of operating a control subject (hereinafter, referred to as a “tip end”) such as an arm tip end portion of a robot so that the control subject can follow a trajectory such as a straight line, a circular arc and a curved line having a designated curvature is realized in the following manner. Specifically, a robot control apparatus is allowed to store position and posture data regarding an operation start position and final target position of the control subject, calculates, for each control cycle, a tip end position command value interpolated so that the trajectory to be followed can be a designated trajectory between the aforementioned two points, converts the tip end position command value into an angle (hereinafter, referred to as a “joint angle”) of each joint axis to thereby define a joint angle command value, and further, controls an actuator of each shaft so that the joint angle can coincide with the joint angle command value.
In the case of a multi-joint robot, the tip end position command value cannot be sometimes converted into the joint angle command value, and a threshold point in this case is called a singular point. It is known that a certain joint angular velocity takes an extremely large value suddenly when the robot passes through the singular point or the vicinity of the singular point. However, in actual, an allowable maximum velocity is determined owing to restrictions of constituent components, and such control processing, that is, creation of the command value, that does not allow the joint angular velocity to exceed the maximum velocity, becomes necessary. Heretofore, the creation has been carried out by, after determining whether or not the joint angular velocity is located at the vicinity of the singular point, correcting the tip end position command value so that the joint angular velocity cannot exceed the allowable maximum value (refer to Patent Literature 1 (JP-A 2006-227724) and Patent Literature 2 (JP-A H6-324730)).
In Patent Literature 1, it is determined whether or not the joint angular velocity is located at the vicinity of the singular point based on a joint angle command value obtained by performing coordinate conversion, and in the case where the joint angular velocity is located at the vicinity concerned, another joint angle command value is created by separate processing. In Patent Literature 2, the joint angular velocity is calculated from the calculated joint angle command value, it is determined whether or not the joint angular velocity is located at the vicinity of the singular point based on an increment thereof, and a velocity of the position command value is corrected, whereby the velocity concerned is not allowed to exceed the maximum velocity.
However, in such a singular point vicinity determination method based on singular point area information of the joint angle, which is as described in Patent Literature 1, it is necessary to investigate all of the singular point areas in advance. Moreover, even if the joint angular velocity is located at the vicinity of the singular point, the robot does not exceed the maximum velocity if an operation velocity thereof at a control point is sufficiently small. However, it is necessary to use separate processing, and new processing that smoothly changes the velocity at the time of switching the processing becomes necessary.
Moreover, in the method as described in Patent Literature 2, it is necessary to preset a velocity threshold value, which serves as a determination criterion, at the maximum velocity in order to avoid an erroneous determination in a usual operation. Accordingly, it is possible that the robot may be operated at the vicinity of the maximum velocity though for a short time. Moreover, even if the velocity is suppressed, it is frequent that the robot has some acceleration immediately after the velocity is determined to be excessive, and accordingly, the robot cannot slow down immediately.
As described above, it has been difficult to stably operate the robot in the case where the robot passes through an area such as the vicinity of the singular point, where the joint angular velocity changes suddenly.